import request from '@/utils/request'

/**
 * 获取所有配置
 */
export function getConfigListUrl() {
    return request({
        url: '/system/config/findByModel',
        method: 'post',
        data: {}
    })
}

/**
 * 分页获取配置列表
 * @param params 分页和搜索参数
 */
export function getConfigPage(params) {
    return request({
        url: '/system/config/findPage',
        method: 'post',
        data: params
    })
}

/**
 * 根据ID获取配置详情
 * @param id 配置ID
 */
export function getConfigById(id) {
    return request({
        url: '/system/config/findByPk',
        method: 'get',
        params: { id }
    })
}

/**
 * 新增配置
 * @param data 配置数据
 */
export function addConfig(data) {
    return request({
        url: '/system/config/save',
        method: 'post',
        data
    })
}

/**
 * 更新配置
 * @param data 配置数据
 */
export function updateConfig(data) {
    return request({
        url: '/system/config/update',
        method: 'post',
        data
    })
}

/**
 * 批量更新配置
 * @param data 配置数据
 */
export function batchUpdateConfig(data) {
    return request({
        url: '/system/config/batchUpdate',
        method: 'post',
        data
    })
}

/**
 * 批量删除配置
 * @param ids 配置ID数组
 */
export function deleteConfigs(ids) {
    return request({
        url: '/system/config/remove',
        method: 'get',
        params: { ids }
    })
}

// 获取全局配置
export const getSystemConfig = (type) => {
    return request({
        url: '/system/config/getSystemConfig',
        method: 'get',
        params: {type}
    })
}

// 批量获取全局配置
export const getSystemConfigList = (data) => {
    return request({
        url: '/system/config/getSystemConfig',
        method: 'post',
        data
    })
}

// 获取用户配置
export const getConfig = (model) => {
    return request.post('system/config/getUserConfig', model)
}

// 保存用户配置
export const setConfig = (model) => {
    return request.post('system/config/setUserConfig', model)
}

